Method for isolating sources of drifts in output properties for machines and processes

ABSTRACT

A method for determining a root cause for a drift in a process or a machine, the function of which is determined by a model describing a relationship between setup and/or input variables and output property or properties, comprising the steps of: (a) Assigning desired output properties for a product of said machine or process, and allowed ranges for said properties; (b) Assigning original values to said variables for obtaining by said machine or process said assigned output properties within said assigned ranges; (c) Measuring the various output properties of the machine or process; (d) When measuring an output property of the machine or process that drifts from its assigned value, substituting the one or more measured output properties in their corresponding model equations, and calculating for each variable in each equation its presumed value, assuming it is the sole cause of the drift; and (e) Analyzing all presumed calculated variable values and the measured values of the output properties of the machine or process to determine the variable that is most probably responsible for the drift.

FIELD OF THE INVENTION

[0001] The present invention relates to methods for identifying the rootcause or causes for changes in output properties of a process.

BACKGROUND OF THE INVENTION

[0002] In any manufacturing process, there are process machines whichtake multiple inputs (such as gases, materials, power, etc.), providelocal environments (such as pressure, temperature, etc.), and changeeither the shape or some set of properties of the operant material(s).The output is a specific arrangement of new properties (e.g., thickness,index of refraction, stress, geometry, etc.) on the operant material,and are called herein either the output, the product, or the goal.

[0003] In order to predict the output of a machine (hereinafter,whenever the term “machine” is used, it should be understood that it mayalso refer to a process) for a specific set of inputs, there is a needto provide a model of the machine.

[0004] One type of a model that describes the behavior and the operationof a machine is the physical model. A physical model comprises a set ofmathematical functions and formulas based on scientific understanding ofthe machine and process. Physical models often contain some calibrationconstants which are related to some physical characteristic of theprocess but for which the first principle knowledge is either limited orlacking. These constants may be adjusted to allow the model to properlysimulate the process.

[0005] Other types of models, like data based models, or others only tryto fit experimental data from the machine to simple functions. Thesemodels are constructed by means of carrying out experiments and/oraccumulating a large amount of raw data relating to the characteristicsof the output product versus different sets of inputs. They aregenerally used in cases where the physical model is not known. Thesemodels treat the machine as a “black box”, and try to predict theproperties of the output product versus the inputs, based onexperimental results using simple formulas with undetermined constants.Constants in the simple functions are evaluated by fitting the functionsthrough the data. Thus, the constants also allow the model to simulatethe process, but unlike the physical model, they are not connected toany physical characteristic. For this reason, physical models areusually more accurate. A major point to be noted here is that the simplefunctions used in these data based models have no relation to the actualbehavior of the physical mechanisms present in the process and hencecannot generally be used in the present invention, as discussedhereinafter. However, in cases when these models fortuitously or bydesign do properly account for the physical mechanisms of the process,then such models could also be used in the present invention. Suchlatter cases are within the scope of this invention. When the term‘physical model’ is used in this disclosure, it is understood that thisincludes any model, which properly follows the behavior of physicalmechanisms.

[0006] Important applications of accurate models of a process includeprocess optimization (i.e., finding a setup which optimizes some costfunction of the output, see, for example, Israeli Patent Application134,380) and certain aspects of failure analysis including healthmonitoring, and diagnostics. This invention addresses the latter bydescribing the methods of determining the root cause or causes ofchanges in the output properties.

[0007] Nearly every process can experience change in the outputproperties with time. These changes are caused by some drift in one ormore of the inputs, or from some other changes in the properties of theprocess machine and its environment with no change by the operator ofthe input settings. Each of these possible mechanisms results in a moreor less unique pattern of variation in the machine operation and theoutput properties versus time.

[0008] It has been found by the inventors that if one has the greatadvantage of having an accurate physical model of a process, it ispossible to use the model to determine which mechanism or mechanisms isthe cause of the change. This is a major component of process machinehealth monitoring and diagnostics. The present invention embodies theapplication of accurate models to such determinations.

[0009] Changes in output properties in a process will eventually triggersome sort of alarm. This leads generally to requiring changes in theinputs or, worse, cessation of the process for maintenance. Changes toinputs may allow for a return of output properties to desired levels,but the underlying cause for the drift is not addressed. Cessation ofthe process for maintenance typically restores the machine to properworking order, but frequently a more comprehensive and expensiverefurbishing is performed because the underlying cause of the drift isnot understood. If such an understanding is available, a much moreeffective and simpler remedy would result in more machine availability,closer adherence to desired output properties, reduction in productioncost and much better control of the process.

[0010] The present invention shows that by taking the advantage ofhaving an accurate physical model of a process, and by having a smallamount of measured data, the cause/s for changes to output propertiescan be identified and controlled.

[0011] The essence of the invention is that an accurate model canprovide extra information unavailable by any other source, of monitoringchanges to the process machine and diagnosing these changes. Thisincludes information regarding possible states of the machine for anymeasured output, derivatives of the output quantities with respect toinput quantities, and possible paths of output change with a change inone of the inputs, to name a few. Several methods for diagnosis or causeanalysis can then be envisioned, which, along with data routinelycollected during production can assist in maintaining product quality,reducing repair time of machines, early detection of problems, diagnosisof which mechanism or controller has drifted out of spec, and generalhealth monitoring.

SUMMARY OF THE INVENTION

[0012] The present invention relates to a method for determining a rootcause for a drift in a process or a machine, the function of which isdetermined by a model describing a relationship between setup and/orinput variables and output property or properties, which comprises: (a)assigning desired output properties for a product of said machine orprocess, and allowed ranges for said properties; (b) assigning originalvalues to said variables for obtaining by said machine or process saidassigned output properties within said assigned ranges; (c) measuringthe various output properties of the machine or process; (d) whenmeasuring an output property of the machine or process that drifts fromits assigned value, substituting the one or more measured outputproperties in their corresponding model equations, and calculating foreach variable in each equation its presumed value, assuming it is thesole cause of the drift; (e) analyzing all presumed calculated variablevalues and the measured values of the output properties of the machineor process to determine the variable that is most probably responsiblefor the drift. Preferably, the model is a physical model or any othermodel type that predicts process outputs given the values substitutedfor the variable, with sufficient accuracy.

[0013] According to an embodiment of the invention the variable which isdetermined as the one responsible for the drift is the variable forwhich all its presumed calculated values are found to be the same forall output properties.

[0014] According to another embodiment of the invention, the variablewhich is determined as the one responsible for the drift is the variablefor which all its presumed calculated values are found to be the samefor all output properties, taking into account variations due tostatistical distributions of the output properties and measurementerrors.

[0015] In still another embodiment of the invention the measuring stepcomprises (a) measuring of a series of output measurements duringdifferent production times; (b) when a drift is realized in a measuredoutput property, assigning a first early output measurement as astarting measurement, and a later output measurement as an endingmeasurement; (c) the substituting step comprises, for each variable,defining its said original assigned value as the starting input value,and substituting the ending measurement in the model, and calculatingfor each variable its presumed ending input value, assuming it is thesole cause of the drift; (d) in the analyzing step, for a plurality ofpoints in the range between the starting input value and the endinginput value of each variable, calculating from the model correspondingoutput values, assuming the other variables having values as originallyassigned for obtaining the assigned output property; (e) determining thevariable whose output values calculated in step (d) are most similar tothe output measured values, as the one most probably responsible for thedrift.

[0016] In still another embodiment of the invention the determining stepcomprises: (a) for each variable, drawing a curve between its calculatedoutput values, therefore obtaining an output curve corresponding to eachvariable; and (b) determining the variable whose output curve is mostsimilar to the output measured values, as the one most probablyresponsible for the drift.

[0017] Preferably, it is advisable to take into account statisticaldistributions of the output properties and measurement variation errors,in order to obtain more reliable results.

[0018] According to still another embodiment of the invention, theanalyzing step comprises the steps of: (a) Finding a new set ofvariables being each within a limited range from its original value,that when the new set of variables, supplemented one at a time with thecalculated amount of drift in each variable, is substituted in themodel, results in sufficiently remote one from the other output propertyvalues; (b) Calculating from the model separately for each presumedvariable drift, by evaluating the model while substituting the new setand each of the presumed drifts in turn; (c) Performing an experiment inwhich the said found new set of variables are substituted in theproduction machine or process, and obtaining an experimental output; and(d) Assigning the variable for which the calculated output is closest tothe said experimental output as the variable responsible for the drift.

[0019] Preferably, said new set of variables is found by applyingdirectional derivatives to the model separately with respect tovariable.

[0020] Preferably, the new set of variables is selected such that itprovides outputs which differ by more than the statistical variation ofthe machine or process, while staying as close as possible to theoriginal values as assigned, to obtain sufficiently remote one from theother output property values.

[0021] Preferably, in carrying out any of the above procedures, it isadvisable to take into account statistical distributions of the outputproperties and measurement variation errors, in order to obtain morereliable results.

[0022] In any of the above procedures, the input variables of themachine or process may represent inputs and/or or internal mechanisms.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In the drawings:

[0024]FIG. 1 illustrates in flow diagram form a first embodiment of themethod of the invention;

[0025]FIG. 2 illustrates in flow diagram form a second embodiment of themethod of the invention;

[0026]FIG. 3 illustrates in flow diagram form a third embodiment of themethod of the invention; and

[0027]FIG. 4 is a graph showing how the one variable responsible for adrift is determined, according to the said second embodiment of themethod of the invention;

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0028] The present invention provides means for determining the cause orcauses of changes in machines or processes. Hereinafter, if nototherwise specifically indicated, when the term “machine” is used, itshould be understood that it relates to a “process” as well, and viceversa, when the term “process” is used, it should be understood that itrelates to a “Machine” as well.

[0029] A process subject to the type of changes described here has aninitial setup with corresponding product properties (referred to asoutput or output properties) which change with operation time withoutany machine operator change of the setup. The setup is defined as theset of values comprising input settings controlled by the operator.Other internal mechanisms which can change during the process may alsocause or contribute to changes in the output properties. Models, whichinclude effects of such internal mechanisms, are included within thescope of the present invention.

[0030] Notations:

[0031] Model—according to the present invention the model that is usedto describe the behavior of the process or the machine comprises a setof at least one equation. Each equation comprises a plurality ofvariables that when values are substituted for said variables, theequation provides a value of an output property. The output propertiesare denoted herein as x, y, z . . . etc. The model which is usedaccording to the present invention is the one known as the physicalmodel, or any other model which accurately predicts the relationshipsbetween the inputs and outputs.

[0032] Equation Variables—According to the present invention eachequation variable A, B, C, D, . . . etc. relates to either a specificinput or an internal mechanism. The values that are substituted for eachvariable and the combination of the variable values substituted in eachequation determine the value of the output property. The notations A₁,B₁, C₁, D₁, . . . etc. indicate variable values that have beensubstituted in an equation, or calculated in a same time, and for a samespecific output product value, for example y₁. At another time, the samevariables may be indicated, for example, as A₂, B₂, C₂, D₂, . . . etc,for a product value y₂. A combination of variable values in a model at asame specific time determines an operation point of the machine orproduct, and is referred to herein as a set point.

[0033] A starting point—according to the present invention a startingpoint is defined as an early state of the process during which theprocess operates properly. More particularly, a starting point relatesto a set-up and/or input values, and/or output values at a state of theprocess during which the process operates properly.

[0034] An ending point—is defined as a late state of the process inwhich the process deviates from the starting point. More particularly,an ending point relates first the output values at a specific state ofthe process during which the process has deviated from the startingpoint. It is a major point of this invention that the model is then usedto calculate a corresponding series of presumed input values such thateach calculated presumed input, along with the other variables heldfixed at their starting values represent possible states of the machineat the ending point.

[0035] Drift—is defined as an unintended change in the input variablesor internal mechanisms, which causes a change in the measured outputproperty or properties.

[0036] Data point—is defined as the measured value of an output propertyor properties.

[0037] Changes in the output properties are caused by a drift in one ormore of the variables (inputs and/or internal mechanisms) without anyapplied change to the machine settings. For example, if an inputcontroller is gradually failing, then it is possible to think that onevalue for the input is being changed when it is actually another.Another example is the buildup of contaminants or residues inside aprocess chamber affecting output properties. In neither case did theoperator change any of the input settings, and yet the output propertieschanged. Often, as changes in the output quantities are observed fromdata collected during the process, adjusting the machine settings(inputs and/or internal mechanisms) can result in maintaining, for awhile, the required output properties. However, this only compensatesfor the unknown cause of the changes and eventually, the operator willno longer be able to maintain the output properties.

[0038] It is an object of the present invention to provide means fordetermining the cause or causes of changes in output properties, eitherduring the process or after. The main idea of the present invention isthat an accurate model of a machine or process enables calculation of apossible drift of each variable of the model from its assigned value,and when all such possible drifts of all variables are calculated, theinvention provides means for determining which of the variables is mostprobably responsible for the drift in the output property.

[0039] The invention provides three embodiments. In the first embodimentoutputs for a plurality (more than one) of properties are measured. Thesecond embodiment uses an entire accumulated set of data and can also becontinuously applied as more data is collected. The third embodimentsteps out from production and performs a single specific test or a setof tests at one or more setups quite different from the productionpre-assigned setup, and is able to determine the cause for a drift. Inthis case the production, is interrupted to perform the single extratest or the set of tests.

[0040] These above embodiments can generally be applied each oneseparately, in any order, and/or in any combination and are only givenas examples of invention. A typical, but not limited procedure, is theone that begins with carrying out the first embodiment to see whetherany of the possible causes can be eliminated. If not, it proceed to thesecond embodiment. If the cause has still not been determined, then thethird is most likely to make a definite determination.

[0041]FIG. 1 is a block diagram describing the method for determiningthe cause or causes of a process (or machine) drift, according to afirst embodiment of the invention. The method requires measurement ofmore than one output property. FIG. 1 describes a case in which twoproperties, y, and z, are measured, and in which a plurality ofvariables, A, B, C, . . . exist in the model. However, the embodiment isapplicable for any plurality of output properties and/or variables. Themethod assumes that measurement of at least one data point exists. Thatmeans that measurement results of all output properties relating to atleast one setup, are available. In step 1 a specific data point isselected. For this data point, the measurement of the properties y and zare available. In step 2 and 2′, y and z are correspondingly substitutedin their separate expressions in the model, and also all the knownvalues of all the variables, excluding the first variable A.

[0042] Next, the values A_(y), A_(z) relating to the first variable arecorrespondingly and separately calculated from the expressions of y andz. Similarly, for calculating B_(y) and B_(z), y and z arecorrespondingly substituted in their separate expressions in in themodel, and also all the known values of all the variables, excluding thesecond variable B. Such calculations follow in steps 2 and 2′ for allthe remaining variables C, D, . . . etc. Then, in step 3 a comparison ismade between the values of the variables A_(y) and A_(z), B_(y) andB_(z) . . . . etc. The variable for which a match is found is determinedas the one responsible for the drift. If however, no match is foundwithin a reasonable measuring error, the same procedure can be repeatedfor a next data point.

[0043] More particularly, the first embodiment comprises the performingof the following steps:

[0044] a. Collecting for a given setup measured values of a plurality ofoutput properties;

[0045] b. Substituting each measured output property in itscorresponding model equation, and calculating for each variable in thatequation its presumed value, assuming it is the sole cause of the drift;

[0046] c. For each variable, comparing its calculated presumed values;and

[0047] d. Assigning as the variable responsible for the drift the onefor which all presumed calculated values are the same for all outputproperties.

[0048]FIG. 2 is a block diagram describing a second embodiment fordetermining the variable responsible for the process (or machine) drift.The embodiment comprises the following steps:

[0049] 1. Carrying out continuously or at various intervals, adetermination for an output property, and forming a data set. The dataset thus consists of a sequential series of measurement values of theoutput property (step 20 and 21).

[0050] 2. Defining from the data set a starting measurement point and anending measurement point. With data scatter, these may be determined bysome sort of curve fitting. Usually, the starting value of the outputthus computed corresponds to the output obtained from the starting setupand machine conditions (step 22).

[0051] 3. Using the process model, calculating the presumed value ofeach variable, assuming it is the sole cause for the drift (step 23).

[0052] 4. In the range between the starting input value and the endinginput value of each variable, calculating from the model correspondingoutput values, assuming the other variables having values as originallyassigned (step 24).

[0053] 5. Determining the variable whose output values calculated in theprevious step are most similar to the output measured values, as the onemost probably responsible for the drift (steps 25 and 26).

[0054] 6. If a determination is made within reasonable statisticalvariation, issue a diagnostic message (step 27) and

[0055] 7. If not, collect a next data point (step 21).

[0056] It should be noted that the above embodiment was explained forone measured property. The same procedure can be applied to the case ofmultiple outputs as well. In such a case, for example, “a least squarescombination” between the measured outputs and the calculated outputs canbe used.

[0057]FIG. 3 shows a block diagram of a third embodiment of theinvention, for determining the cause of a process (or machine) drift.The embodiment comprises the following steps:

[0058] 1. Defining from the data set the starting measurement point andthe ending measurement point (step 32).

[0059] 2. Using the process model, calculating the presumed ending inputvalue of each variable, assuming it is the sole cause for the drift(step 33).

[0060] 3. Defining a new setup that results in sufficiently largedifferences in the possible outputs calculated with the said new setup,and each presumed drift. A presumed drift is the difference between apresumed ending input value and its starting input value (step 34).

[0061] 4. Performing a new experiment using the new setup defined in theprevious step, and measuring the output (step 35).

[0062] 5. Calculating the possible outputs by evaluating the model atthe new setup, defined in step 3, and each presumed drift (step 36).

[0063] 6. Comparing the measured output with each calculated possibleoutput to find the closest match (step 37).

[0064] 7. Determining whether a high probability match has been found(step 38).

[0065] 8. If a high probability match has been found, issuing adiagnostic message accordingly (step 39).

[0066] 9. If, however, a high probability match has not been found, itis concluded that the cause does not correspond with any variable in themodel (step 40).

[0067] The finding of the new setup, as mentioned in step 3 above, canbe carried out in various ways. For example, calculating the directionalderivatives at each of the presumed ending input values, a direction forgreatest spread in the output values can be found. Alternatively, ifthis direction results in a setup outside the allowable input ranges,then calculating the nearest setup within the input ranges which stillresults in a sufficient spread in the output values.

EXAMPLES Example of the First Embodiment

[0068] Suppose the model for two output properties, y and z, for someprocess is given by:

y=150+21*A^(0.05)*B^(.125)*C*D^(−0.05)

z=1e8*(A+0.02*B+0.02*C+0.3*D)

[0069] where A, B, C, and D are variables that are either real inputs orthe effect of internal mechanisms. If any of these quantities is notfixed in time (i.e. during production) then the outputs y and z, willchange with time. Let the starting values (denoted by the ‘1’subscript), with which the machine property operates are: TABLE 1 A₁ 3B₁ 150 C₁ 300 D₁ 25 y₁ 10750 z₁ 1.95e+9

[0070] Suppose that one of the inputs drifts to some new value. Thenboth y and z will similarly change to new values. The present inventionshows that it is possible to determine which of the input variablesdrifted by calculating in turn, the presumed ending values of the inputsrelating correspondingly to y and z. The input whose presumed endingvalue is the same from both y and z is determined as the one that isdrifting. The example is performed by calculating each presumed inputassuming that it is the one which was drifted, holding the others fixed.Next, separately for each variable a comparison is made between all itscalculated presumed values. The variable which is assigned as the onewhich is drifted is the one for which all calculated presumed values arefound to be the same, considering error variations.

[0071] Suppose, for instance, that A has drifted to 5 instead of theoriginal value of 3, and the other inputs remain at their initialvalues. Then, the actual state of the machine, and the correspondingoutputs are shown in Table 2: TABLE 2 A₂ 5 B₂ = B₁ 150 C₂ = C₁ 300 D₂ =D₁ 25 y₂ 11024 z₂ 2.15e+9

[0072] Now, the calculations of the values required for each of theinputs to achieve these values of y₂ and z₂ if that input was the onlyone changed provide: TABLE 3 y₂ z₂ A′₂ 5 5 B′₂ 184 250 C′₂ 308 400 D′₂15 31.67

[0073] It should be noted that the calculated input values of table 3are denoted in FIG. 1 in their general terms A_(y), A_(z), B_(y), B_(z),. . . etc. It can be easily determined that the calculations indicatethat only input A is the same for the calculations based on themeasurements of both y and z. It is therefore concluded that A must bethe variable that had drifted, which we know to be true since that isthe one that was changed to get the new values. Note that it is the onlypossible one, because this variable is the only one for which thecalculated presumed values are separately determined to be the same fromthe expressions of both y₂ and z₂.

Example of the Second Embodiment

[0074] The second embodiment of the invention uses a data set thatcomprises a series of output measurements. The method can be used at anytime during production and can be used with multiple outputs. Forillustrative purposes, the following example is given for a singlemeasured output, but the extension to multiple outputs is quite simpleand straightforward.

[0075] Consider a process model for some output y given by:

y=150+21*A^(0.05)*B^(.125)*C*D^(−0.05)

[0076] and a series of measurements of y during the production when thesetup is presumably not changing, but actually it drifts in one of theinputs, or an internal mechanisms dominates as the cause for a change inthe measured output. Suppose this starting setup and correspondingoutput is: TABLE 4 A₁ 3 B₁ 150 C₁ 300 D₁ 25 y₁ 10750

[0077] As a machine working according to said model is not available,such a machine was first simulated, as shown in table 5. In order tosimulate a changing output y due to drift of one of the inputs/internalmechanisms, the model was used to evaluate a drift in B, such that thevalue of the output has changed by 4%, after 15 “measurements” of theoutput property y have been made. Thus, it was simulated that B hasdrifted smoothly from its initial value of 150 (indicated in table 4) toa new value of 206.2, as shown in the column indicated “Drift value ofB”. Using same values for A, C, and D as indicated in table 4, and giventhe 15 drifted values of B between 153.7 and 206.2, the model was usedto calculate 15 corresponding y values, as indicated in the column “Newvalue of y” in table 5. It can be easily determined that 11180 is largerthan the initial y value of 10750 by 4%. In order to simulate a processhaving a sigma of 0.25% of the y output, a Box-Muller algorithm was usedin order to initiate random numbers, as appearing in the columnindicated as “Process σ” in the table. Said random numbers werecorrespondingly imposed on the numbers of the “New value of y” column,to obtain the final simulated “measured” values of y, as appearing inthe column “Simulated Value of y”. Drift New Simulated Value of B Valueof y Process σ Value of y 1 153.7 10783 −13 10770 2 157.5 10815 14 108293 161.2 10846 −8 10838 4 165.0 10877 12 10889 5 168.7 10907 28 10935 6172.5 10937 −13 10924 7 176.2 10966 −5 10961 8 180.0 10994 −18 10976 9183.7 11022 12 11034 10 187.5 11050 7 11057 11 191.2 11077 17 11094 12194.9 11103 −45 11058 13 198.7 11129 −9 11120 14 202.4 11155 −34 1112115 206.2 11180 44 11224

[0078] In the next step, a try was made to find a curve best fitting theoutput values, as simulated and appearing in the ““Simulated Value of y”column. When a second order polynomial curve was found to satisfactorilydescribe the “measured” data (“Stimulated Value of y”) and actuallyfiltering the a noise, an output ending point from the said curve wasdetermined to be 11179 (it can be seen that it is very close to the lastcalculated value of 11180. The output starting point was selected to beinitial value of y, 10750, as appearing in table 4.

[0079] It should be noted herein that any reasonable method, other thanthe one shown above, can be used to determine the output ending value

[0080] From this ending output value of y (11179), the procedurecontinues to the calculating of a corresponding input value of A, forwhich y could have drifted from y₁ to 11179 with B, C, and D held fixedat B₁, C₁, and D₁. This is called the presumed value of A and will bedenoted as A₂. A similar procedure follows for the calculating ofstarting input values for B, C, and D. TABLE 6 The presumed values are:A B C D if A is drifting 6.65 150 300 25 if B is drifting 3 206.2 300 25if C is drifting 3 150 312.2 25 if D is drifting 3 150 300 11.3

[0081] Next, for each variable, for several values in the range betweenthe variable starting input value and its ending input value,calculations are made to determine corresponding y's. This simulates anartificial “drift” in each of said variables, in order to find theircorresponding y's. It is preferable to carry out the calculation for asmany values as possible in that range in order to obtain a smooth outputcurve, but generally any number greater than, say 5 values in that rangesuffice.

[0082] Table 7 provides, for each variable “drifting” in itscorresponding range between its starting input value and its endinginput value, the corresponding calculated y's. 21 such calculated yvalues are given in Table 7 for each variable. Table 7 summarizes thisdata and the value of y evaluated from the curve fit through the data.TABLE 7 y evaluated y for A y for B y for C y for D from driftingdrifting drifting drifting curve fit from 3 to from 150 to from 300 tofrom 25 to through 6.65 206.2 312.2 11.3 data 10764 10780 10774 1077110780 10779 10808 10797 10791 10801 10793 10835 10819 10812 10822 1080910861 10842 10832 10844 10825 10886 10864 10853 10865 10841 10909 1088610873 10886 10858 10932 10907 10893 10906 10875 10954 10928 10914 1092710893 10975 10949 10934 10947 10912 10995 10970 10955 10967 10931 1101410990 10975 10988 10951 11033 11010 10996 11007 10972 11052 11030 1101611027 10994 11069 11050 11037 11047 11017 11087 11069 11057 11066 1104111103 11088 11078 11086 11066 11119 11107 11098 11105 11092 11135 1112611119 11124 11120 11151 11144 11139 11143 11149 11166 11162 11160 1116111180 11180 11180 11180 11180

[0083] The closeness of the fitted curve to the others is evaluated bysumming the squares of the differences between them, dividing by thenumber of points and taking the square root. The results are summarizedin Table 8: TABLE 8 Difference between Sqrt(Σ(y − y_(fit))²/N) Adrifting and Curve fit 19.57 B drifting and Curve fit 2.52 C driftingand Cruve fit 10.05 D drifting and Curve fit 42.08

[0084] It is clear from the table that the curve fit is closest to thedata corresponding to B drifting. These paths and a curve fit throughthe data are shown in FIG. 4. In FIG. 4 the “measure” values of y areindicated, and also the four output curves corresponding to a case inwhich one of the variables has drifted. It can be seen that the data(particularly by way of the curve fit) is closest to the path where B isvarying. This indicates that B was the variable that is varying for somereason. This is the correct answer in this case. For cases when the datais less well behaved (either due to large sigma or very slow drifts),the correspondence may be less clear. But at least it should be possibleto eliminate one or more of the variables as possibilities and move onto the next test.

[0085] It should also be noted that the curve fit procedure as usedherein has been given only as an example. Any other procedure forfinding the variable for which the calculated output values show mostsimilarity to the measured y values can also be used.

Example of the Third Embodiment

[0086] The third embodiment of the invention provides determination ofthe independent variable that is responsible to the drift in the outputby performing one extra experiment. The extra experiment involvesoperating the machine in a newly defined setup. The question is how farto change the process inputs (variables) in performing the extraexperiment. The independent variables are the process inputs and/or theinternal mechanisms included in the model of the machine or process. Asbefore, the variables are denoted by the letters A, B, C, and D, andwill be referred to herein simply as ‘inputs.’ In this example, weconsider, again, a process whose model is given by:

y=150+21*A^(0.05)*B^(.125)*C*D^(−0.05)

[0087] with a starting setup and corresponding output values of: TABLE 9A₁ 3 B₁ 150 C₁ 300 D₁ 25 Y₁ 10750 σ_(y) 0.4%

[0088] Wherein, as before, σ_(y) indicates the process sigma. It isassumed in this example that a drift in B has taken place, and its newvalue is 200. The corresponding y (according to the model) is 11138. Arandom, normally distributed contribution (σ_(y)=0.4%) is imposed on topof this, as in the second example, to give an experimentally foundoutput value of 11127. Next, from this value of y and the startingsetup, we determine the amount that each of the input variables wouldhave to be drifted by in order to account for this new value of y,assuming that this is the sole cause for the drift, and the rest of thevariables remain in their initial values. These represent four possiblestates of the machine. The resulting possible set ups are: TABLE 10Amount of A B C D drift if drift is in A 6 150 300 25 ΔA = 3 If drift isin B 3 198 300 25 ΔB = 48 If drift is in C 3 150 311 25 ΔC = 11 If driftis in D 3 150 300 12 ΔD = −13

[0089] Table 10 represents the only possible states of the machine,since only one of the four inputs was drifted To determine which inputis responsible for the drift in the output, one more experiment isperformed. The setup for this experiment should provide outputs whichdiffer by more than the statistical variation σ_(y) is likely to be.

[0090] On the other hand, it is desirable for the new setup to be asclose as possible to the present state of the machine. For some modelsthis minimizes errors between the model and the machine and also helpspreventing the machine from being operated outside the allowed ranges ofthe inputs. It is possible to calculate such a setup by usingdirectional derivatives calculated from the model at each of the setupsin the above table 10. Then, a direction that maximizes the differencein the new values of the output is chosen. Then using the known value ofthe process sigma, a distance in that direction can be computed. Thisnew setup is computed to be: TABLE 11 A′ 10 B′ 200 C′ 300 D′ 35

[0091] This is the setup that will be used in the process machine. Themodel will be evaluated once for each input variable using this setupand the amount by which that input variable has presumed to drift(rightmost column of table 10). These are calculated from the model asfollows: TABLE 12 A B C D yA 13 200 300 35 11785 yB 10 248 300 35 11951yC 10 200 311 35 12044 yD 10 200 300 22 11891

[0092] Finally, an experiment is actually run on the machine andcompared with these values. As said herein above, a machine having sucha model is not available, so a simulation to such an experiment wasmade. To complete the example here, we therefore simulate the machine byusing the model to determine what would be measured in that experimentand add a statistical variation. Since the drift was actually in B, themodel is evaluated using (10,248,300,35) and adding a 0.4% normallydistributed random number. The result of that simulated “experiment” isa value of y=11962. This “measured” value of y is closest to the valuepredicted in table 12 by assuming that the input which is drifting is B,where the calculate yB was found to be 11951. Therefor it is concludedthat be was drifted, and it can be seen that this is the correct answer.

[0093] While some embodiments of the invention have been described byway of illustration, it will be apparent that the invention can becarried into practice with many modifications, variations andadaptations, and with the use of numerous equivalents or alternativesolutions that are within the scope of persons skilled in the art,without departing from the spirit of the invention or exceeding thescope of the claims.

1. A method for determining a root cause for a drift in a process or a machine, the function of which is determined by a model describing a relationship between setup and/or input variables and output property or properties, comprising: a. Assigning desired output properties for a product of said machine or process, and allowed ranges for said properties; b. Assigning original values to said variables for obtaining by said machine or process said assigned output properties within said assigned ranges; c. Measuring the various output properties of the machine or process; d. When measuring an output property of the machine or process that drifts from its assigned value, substituting the one or more measured output properties in their corresponding model equations, and calculating for each variable in each equation its presumed value, assuming it is the sole cause of the drift; e. Analyzing all presumed calculated variable values and the measured values of the output properties of the machine or process to determine the variable that is most probably responsible for the drift.
 2. A method according to claim 1, wherein the model is a physical model or any other model type that predicts process outputs given the values substituted for the voluble, with sufficient accuracy.
 3. A method according to claim 1 wherein the variable which is determined as the one responsible for the drift is the variable for which all its presumed calculated values are found to be the same for all output properties.
 4. A method according to claim 1 wherein the variable which is determined as the one responsible for the drift is the variable for which all its presumed calculated values are found to be the same for all output properties, taking into account variations due to statistical distributions of the output properties and measurement errors.
 5. A method according to claim 1, wherein: a. The measuring step comprises measuring of a series of output measurements during different production times; b. When a drift is realized in a measured output property, assigning a first early output measurement as a starting measurement, and a later output measurement as an ending measurement; c. The substituting step comprises, for each variable, defining its said original assigned value as the starting input value, and substituting the ending measurement in the model, and calculating for each variable its presumed ending input value, assuming it is the sole cause of the drift; d. In the analyzing step, for a plurality of points in the range between the starting input value and the ending input value of each variable, calculating from the model corresponding output values, assuming the other variables having values as originally assigned for obtaining the assigned output property; e. Determining the variable whose output values calculated in step (d) are most similar to the output measured values, as the one most probably responsible for the drift.
 6. A method according to claim 1, wherein the determining step comprising: a. For each variable, drawing a curve between its calculated output values, therefore obtaining an output curve corresponding to each variable; and b. Determining the variable whose output curve is most similar to the output measured values, as the one most probably responsible for the drift.
 7. A method according to claim 5, taking into account statistical distributions of the output properties and measurement variation errors.
 8. A method according to claim 1, wherein the analyzing step comprises: a. Finding a new set of variables being each within a limited range from its original value, that when the new set of variables, supplemented one at a time with the calculated amount of drift in each variable, is substituted in the model, results in sufficiently remote one from the other output property values; b. Calculating from the model separately for each presumed variable drift, by evaluating the model while substituting the new set and each of the presumed drifts in turn; and c. Performing an experiment in which the said found new set of variables are substituted in the production machine or process, and obtaining an experimental output; d. Assigning the variable for which the calculated output is closest to the said experimental output as the variable responsible for the drift.
 9. A method according to claim 8, wherein said new set of variables is found by using the model.
 10. A method according to claim 8, wherein said new set of variables is found by applying directional derivatives to the model separately with respect to each variable.
 11. A method according to claim 8, wherein said new set of variables is selected such that it provides outputs which differ by more than the statistical variation of the machine or process, while staying as close as possible to the original values as assigned, to obtain sufficiently remote one from the other output property values.
 12. A method according to claim 8, taking into account statistical distributions of the output properties and measurement variation errors.
 13. A method according to claim 1, wherein the input variables of the machine or process represent inputs or internal mechanisms. 